#ifndef SOLUTIONFACTORY_H_
#define SOLUTIONFACTORY_H_

enum SolutionType { SF_UNSUPPORTED_SOLUTION, SF_TWO_D_SOLUTION, SF_BIT_ENCODED_SOLUTION, SF_PERMUTATION_ENCODED_SOLUTION, SF_VALUE_ENCODED_SOLUTION };

class Solution;

class SolutionFactory {
    public: 
        static int serializeSolution(char buffer[], int maxBufferLen, Solution* solution);
        static Solution* deserializeSolution(const char buffer[], int bufferLen);
}; 

#endif /*SOLUTIONFACTORY_H_*/
